﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Thaire.Investment.Domains.Transaction
{
    public class FixincomesecuritiesPurchase
    {
        #region Properties
        // FIXINCOMESECURITIES_PURCHASE_ID
        public virtual int FixincomesecuritiesPurchaseId { set; get; }
        // FIXINCOMESECURITIES_HEADER_ID
        public virtual int? FixincomesecuritiesHeaderId { set; get; }
        // TRANSACTION_TYPE
        public virtual String TransactionType { set; get; }
        // PURCHASE_ID
        public virtual int? PurchaseId { set; get; }
        // REF_NO
        public virtual String RefNo { set; get; }
        // TYPEOFPAYMENT_NAME
        public virtual String TypeofpaymentName { set; get; }
        // TYPEOFPAYMENT_ID
        public virtual int? TypeofpaymentId { set; get; }
        // TIME2MATURE
        public virtual decimal? TIME2MATURE { set; get; }
        // TRADE_DATE
        public virtual DateTime? TradeDate { set; get; }
        // SETTLEMENT_DATE
        public virtual DateTime? SettlementDate { set; get; }
        // UNIT
        public virtual int? Unit { set; get; }
        // TOTALSIZE
        public virtual int? TotalSize { set; get; }
        // PAR
        public virtual decimal? Par { set; get; }
        // PAR_VALUE
        public virtual decimal? ParValue { set; get; }
        // YIELD
        public virtual decimal? Yield { set; get; }
        // CLEAN_PRICE
        public virtual decimal? CleanPrice { set; get; }
        // AI
        public virtual decimal? AI { set; get; }
        // GROSS_PRICE
        public virtual decimal? GrossPrice { set; get; }
        // DISCOUNT_PREMIUM
        public virtual decimal? DiscountPremium { set; get; }
        // PHYSICAL
        public virtual String Physical { set; get; }
        // KEEP_AT
        public virtual String KeepAt { set; get; }
        // COUNTERPARTY_NAME
        public virtual String CounterpartyName { set; get; }
        // COUNTERPARTY_ID
        public virtual int? CounterpartyId { set; get; }
        // PURCHASE_VALUE_TH
        public virtual decimal? PurchaseValueTh { set; get; }
        // CURRENCY
        public virtual String Currency { set; get; }
        // EXCH_RATE
        public virtual decimal? ExchRate { set; get; }
        // PURCHASE_VALUE_FOREIGN
        public virtual decimal? PurchaseValueForeign { set; get; }
        // RELATED
        public virtual String Related { set; get; }
        // INDEX_RATIO
        public virtual String IndexRatio { set; get; }
        // REMARK_OIC
        public virtual String RemarkOic { set; get; }
        // CREATE_USER_ID
        public virtual String CreateUserId { set; get; }
        // CREATE_TS
        public virtual DateTime? CreateTs { set; get; }

        public virtual String  UpdateUserId { get; set; }

        public virtual DateTime? UpdateTs { get; set; }
        // REMAIN_UNI
        public virtual int? RemainUnit { set; get; }

        #endregion



        public override bool Equals(object obj)
        {
            if (obj == null)
                return false;
            if (obj.GetType() != typeof(FixincomesecuritiesPurchase) && !(obj is FixincomesecuritiesPurchase))
                return false;
            return ToString().Equals(obj.ToString());
        }

        public override int GetHashCode()
        {
            return ToString().GetHashCode();
        }

        public override string ToString()
        {
            return string.Format("{0}", FixincomesecuritiesPurchaseId);
        }

     
    }
}
